/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package model.estoque;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import model.funcionario.Funcionario;
import model.produto.Produto;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 *
 * @author Marcos
 */
@Entity
@Table(name = "estoque", schema = "sistemavendas")
public class Estoque implements Serializable{
   @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    @Temporal(TemporalType.DATE)
    @Column(name = "data_entrada", nullable = false)
    private Date dataEntrada;
    @OneToOne
    @JoinColumn(name = "cod_funcionario")
    private Funcionario funcionario;
    @OneToOne(mappedBy = "estoque")
    @Cascade(CascadeType.ALL)
    private Produto produto;
    @Column(name = "quantidade_chegada", nullable = false)
    private int quantidadeChegada;

    public Estoque() {
    }

    public int getQuantidadeChegada() {
        return quantidadeChegada;
    }

    public void setQuantidadeChegada(int quantidadeChegada) {
        this.quantidadeChegada = quantidadeChegada;
    }

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public Estoque(int quantidade){
        this.quantidadeChegada = quantidade;
    }
    
    
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Date getDataEntrada() {
        return dataEntrada;
    }

    public void setDataEntrada(Date dataEntrada) {
        this.dataEntrada = dataEntrada;
    }

    public Funcionario getFuncionario() {
        return funcionario;
    }

    public void setFuncionario(Funcionario funcionario) {
        this.funcionario = funcionario;
    }

    
}
